// pages/mine/rent/rent.js
const app = getApp()
Page({
  /**
   * 页面的初始数据
   */
  data: {
    rentList: [],
    page: 1,
    noMore: false,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.getRentList(true, 1)
    console.log(app.$utils.formatTime( new Date(1)))
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    this.getRentList(true, 1)
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom () {
    if(!this.data.noMore) { // 仅在有更多的情况下加载
      this.getRentList(false, ++this.data.page)
    }
  },
  /**
   * 获取我的预约列表
   */
  getRentList(init, page) {
    wx.showLoading({ title: '加载中' })
    app.globalData.request('POST', 'applet/house/rentHouse', {
      token: wx.getStorageSync('token'),
      id: wx.getStorageSync('id'),
      page: page || this.data.page
    }).then(res => {
      if(res.data.data.length > 0) { // 处理时间
        res.data.data.forEach(item => {
          switch(item.status) {
            case 1:
              item.color = '#0E82EB'
              item.tag = '已签约'
              break
            case 2:
              item.color = '#0CB990'
              item.tag = '将到期'
              break
            case 3:
              item.color = '#FF6565'
              item.tag = '已到期'
              break
            case 4:
              item.color = '#FFA80A'
              item.tag = '已失效'
              break
            default:
              item.color = '#ececec'
              item.tag = '状态'
              break
          }
          item.startTime = app.$utils.formatTime(new Date(item.start_time*1000), 'Y年M月D日')
          item.endTime = app.$utils.formatTime(new Date(item.end_time * 1000), 'Y年M月D日')
          item.signTime = app.$utils.formatTime(new Date(item.signing_time * 1000), 'Y年M月D日')
        })
      }
     
      if(!init) {
        this.setData({
          rentList: [...this.data.rentList.concat, ...res.data.data],
          noMore: res.data.no_more
        })
      } else {
        this.setData({
          rentList: res.data.data,
          noMore: res.data.no_more
        })
      }
      wx.hideLoading()
      wx.stopPullDownRefresh()
    }).catch(err => {
      wx.hideLoading()
    })
  },
})